package com.szboanda.platform.v3.util;


import com.szboanda.platform.v3.generator.TableAnnotation;
import com.szboanda.platform.v3.util.dao.NonMappingField;
import org.apache.commons.beanutils.BeanUtils;

import java.lang.reflect.InvocationTargetException;
import java.util.Date;

/**
 * FileName    : TWdstore.java
 * Description : null(T_WDSTORE)的javaBean对象
 * @Copyright  : PowerData Software Co.,Ltd.Rights Reserved 
 * @Company    : 深圳市博安达软件开发有限公司
 * @author     : create code tools
 * @version    : 1.0
 * Create Date : 2011-03-19 15:08:53
 **/
@TableAnnotation(tableName="T_WDSTORE",key="WDBH")
public class TWdstore {

	/** 文档编号 */
	private String wdbh;

	/** 应用程序组号 */
	private String appbh;

	/** 文档名称 */
	private String wdmc;

	/** 文档类型 */
	private String wdlx;

	/** 文档属性 */
	private String wdsx;

	/** 文档大小 */
	private String wddx;

	public String getWddx() {
		return wddx;
	}

	public void setWddx(String wddx) {
		this.wddx = wddx;
	}

	/** 文档拥有人 */
	private String wdyyr;

	/** 文档状态 */
	private Integer wdzt;

	/** 文档描述 */
	private String wdms;

	/** 文档作者 */
	private String wdzz;

	/** 文档路径 */
	private String wdlj;

	/** 文档标题 */
	private String wdbt;

	/** 文档版本号 */
	private Integer dqbb;

	private String wdhz;
	
	/*子类型*/ 
	private String zlx;
	
	private String systemid;
	
	@NonMappingField
	private String minorsId;


	public String getSystemid() {
		return systemid;
	}

	public void setSystemid(String systemid) {
		this.systemid = systemid;
	}

	private Date cjsj;

	private String cjr;

	private Date xgsj;

	private String xgr;

	private String orgid;

	public void setWdbh(String wdbh){
		this.wdbh = wdbh;
	}

	public String getWdbh(){
		return this.wdbh;
	}

	public void setAppbh(String appbh){
		this.appbh = appbh;
	}

	public String getAppbh(){
		return this.appbh;
	}

	public void setWdmc(String wdmc){
		this.wdmc = wdmc;
	}

	public String getWdmc(){
		return this.wdmc;
	}

	public void setWdlx(String wdlx){
		this.wdlx = wdlx;
	}

	public String getWdlx(){
		return this.wdlx;
	}

	public void setWdsx(String wdsx){
		this.wdsx = wdsx;
	}

	public String getWdsx(){
		return this.wdsx;
	}

	
	public void setWdyyr(String wdyyr){
		this.wdyyr = wdyyr;
	}

	public String getWdyyr(){
		return this.wdyyr;
	}

	public void setWdzt(Integer wdzt){
		this.wdzt = wdzt;
	}

	public Integer getWdzt(){
		return this.wdzt;
	}

	public void setWdms(String wdms){
		this.wdms = wdms;
	}

	public String getWdms(){
		return this.wdms;
	}

	public void setWdzz(String wdzz){
		this.wdzz = wdzz;
	}

	public String getWdzz(){
		return this.wdzz;
	}

	public void setWdlj(String wdlj){
		this.wdlj = wdlj;
	}

	public String getWdlj(){
		return this.wdlj;
	}

	public void setWdbt(String wdbt){
		this.wdbt = wdbt;
	}

	public String getWdbt(){
		return this.wdbt;
	}

	public void setDqbb(Integer dqbb){
		this.dqbb = dqbb;
	}

	public Integer getDqbb(){
		return this.dqbb;
	}

	public void setWdhz(String wdhz){
		this.wdhz = wdhz;
	}

	public String getWdhz(){
		return this.wdhz;
	}

	public void setCjsj(Date cjsjs){
		if(cjsjs != null){
			this.cjsj =  new Date(cjsjs.getTime());
		}else{
			this.cjsj = null;
		}
	}

	public Date getCjsj(){
		if(this.cjsj != null){
			return new Date(this.cjsj.getTime());
		}else{
			return null;
		}
	}

	public void setCjr(String cjr){
		this.cjr = cjr;
	}

	public String getCjr(){
		return this.cjr;
	}

	public void setXgsj(Date xgsjs){
		if(xgsjs != null){
			this.xgsj =  new Date(xgsjs.getTime());
		}else{
			this.xgsj = null;
		}
	}

	public Date getXgsj(){
		if(this.xgsj != null){
			return new Date(this.xgsj.getTime());
		}else{
			return null;
		}
	}

	public void setXgr(String xgr){
		this.xgr = xgr;
	}

	public String getXgr(){
		return this.xgr;
	}

	public void setOrgid(String orgid){
		this.orgid = orgid;
	}

	public String getOrgid(){
		return this.orgid;
	}

	public String getMinorsId() {
		return minorsId;
	}

	public void setMinorsId(String minorsId) {
		this.minorsId = minorsId;
	}
	
	public String getZlx() {
		return zlx;
	}

	public void setZlx(String zlx) {
		this.zlx = zlx;
	}

	/**
	 * 
	* @Title: transToNewMinors 
	* @Description: 会生成一个 新的镜像 文件
	* @param @param appid    设定文件 
	* @return void    返回类型 
	* @throws
	 */
	public TWdstore toNewMinors(String appid){
		//如果 此本此 条数据 就是映射 的一个镜像文件。那么 系统 应该使用 镜像 文件的 ID 做为此数据的 镜像 ID 。否则 使用 此数据的 ID 标识 文件的镜像 ID
		TWdstore store = new TWdstore();
		try {
			String mmid = getMinorsId();
			store = (TWdstore) BeanUtils.cloneBean(this);
			if(StringUtils.isEmpty(mmid) == true){
				store.setMinorsId(store.getWdbh());
			}else{
				//如果 本身 就 是一个镜像 那么 文件继续 引用 原来 的镜像 
			}
			store.setWdbh(System.nanoTime()+"");
			store.setAppbh(appid);
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			e.printStackTrace();
		}
		return store;
	}
}